package persistence.tcc.ada.ifmg.edu.br;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class PersistenceHelper extends SQLiteOpenHelper{
	
	private static PersistenceHelper instance = null;
	public static final String DATABASE_NAME = "ada.sqlite";
	public static final int VERSION = 1;
	
	
	private PersistenceHelper(Context c){
		super(c, DATABASE_NAME, null, VERSION);
	}
	
	public static PersistenceHelper getInstance(Context c){
		if(instance == null)
			instance = new PersistenceHelper(c);
		return instance;
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		
		db.execSQL(TurmaDataAccessObject.CREATE_TB_TURMA);
		db.execSQL(AlunoDataAccessObject.CREATE_TB_ALUNO);
		db.execSQL(ResponsavelDataAccessObject.CREATE_TB_RESPONSAVEL);
		db.execSQL(ResponsavelAlunoDataAccessObject.CREATE_TB_RESPONSAVEL_ALUNO);
		db.execSQL(FotoAlunoDataAccessObject.CREATE_TB_FOTO_ALUNO);
		db.execSQL(DisciplinaDataAccessObject.CREATE_TB_DISCIPLINA);
		db.execSQL(MatriculaDataAccessObject.CREATE_TB_MATRICULA);
		db.execSQL(TipoAvaliacaoDataAccessObject.CREATE_TB_TIPO_AVALIACAO);
		db.execSQL(HorarioDataAccessObject.CREATE_TB_HORARIO);
		db.execSQL(AulaDataAccessObject.CREATE_TB_AULA);
		db.execSQL(StatusDataAccessObject.CREATE_TB_STATUS);
		db.execSQL(ControleFrequenciaDataAccessObject.CREATE_TB_CONTROLE_FREQUENCIA);
		db.execSQL(AvaliacaoDataAccessObject.CREATE_TB_AVALIACAO);
		db.execSQL(AvaliacaoSuplementarDataAccessObject.CREATE_TB_AVALIACAO_SUPLEMENTAR);
		db.execSQL(AvaliacaoAlunoDataAccessObject.CREATE_TB_AVALIACAOALUNO);
		db.execSQL(ConceitoDataAccessObject.CREATE_TB_CONCEITO);
		
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		
		db.execSQL(TurmaDataAccessObject.DROP_TB_TURMA);
		db.execSQL(AlunoDataAccessObject.DROP_TB_ALUNO);
		db.execSQL(ResponsavelDataAccessObject.DROP_TB_RESPONSAVEL);
		db.execSQL(ResponsavelAlunoDataAccessObject.DROP_TB_RESPONSAVEL_ALUNO);
		db.execSQL(FotoAlunoDataAccessObject.DROP_TB_FOTO_ALUNO);
		db.execSQL(DisciplinaDataAccessObject.DROP_TB_DISCIPLINA);
		db.execSQL(MatriculaDataAccessObject.DROP_TB_MATRICULA);
		db.execSQL(TipoAvaliacaoDataAccessObject.DROP_TB_TIPO_AVALIACAO);
		db.execSQL(HorarioDataAccessObject.DROP_TB_HORARIO);
		db.execSQL(AulaDataAccessObject.DROP_TB_AULA);
		db.execSQL(StatusDataAccessObject.DROP_TB_STATUS);
		db.execSQL(ControleFrequenciaDataAccessObject.DROP_TB_CONTROLE_FREQUENCIA);
		db.execSQL(AvaliacaoDataAccessObject.DROP_TB_AVALIACAO);
		db.execSQL(AvaliacaoSuplementarDataAccessObject.DROP_TB_AVALIACAO_SUPLEMENTAR);
		db.execSQL(AvaliacaoAlunoDataAccessObject.DROP_TB_AVALIACAOaLUNO);
		db.execSQL(ConceitoDataAccessObject.DROP_TB_CONCEITO);
		
		onCreate(db);
		
	}
	
	

}
